package Category

import "time"

// CategoryResponse 分类响应结构体
type CategoryResponse struct {
	ID        uint                `json:"id"`
	Name      string              `json:"name"`
	ParentID  *uint               `json:"parent_id"`
	Level     int                 `json:"level"`
	Path      string              `json:"path"`
	UserID    uint                `json:"user_id"`
	CreatedAt time.Time           `json:"created_at"`
	UpdatedAt time.Time           `json:"updated_at"`
	Parent    *CategoryResponse   `json:"parent,omitempty"`
	Children  []*CategoryResponse `json:"children,omitempty"`
}

// CategoryTreeResponse 分类树响应结构体
type CategoryTreeResponse struct {
	ID       uint                    `json:"id"`
	Name     string                  `json:"name"`
	Level    int                     `json:"level"`
	Path     string                  `json:"path"`
	Children []*CategoryTreeResponse `json:"children,omitempty"`
}

// CategoryListResponse 分类列表响应结构体
type CategoryListResponse struct {
	Categories []*CategoryResponse `json:"categories"`
	Total      int64               `json:"total"`
	Page       int                 `json:"page"`
	PageSize   int                 `json:"page_size"`
	TotalPages int                 `json:"total_pages"`
}
